package in.data.entity;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.util.List;
import in.lib.utils.Debug;
import in.lib.utils.SerialReaderUtil;
import in.lib.utils.SerialWriterUtil;
import in.model.AdnModel;
import in.model.base.Model;
import lombok.Data;
@Data
public class Entity extends AdnModel
{
protected int length;
protected int pos;
@Override public Entity createFrom(JsonElement element)
{
try
{
JsonObject entityObject = element.getAsJsonObject();
this.length = entityObject.get("len").getAsInt();
this.pos = entityObject.get("pos").getAsInt();
return this;
}
catch (Exception e)
{
Debug.out(e);
}
return null;
}
@Override public List<? extends Model> createListFrom(JsonElement element)
{
return null;
}
@Override public Entity createFrom(Parcel parcel)
{
super.createFrom(parcel);
return this;
}
@Override public String getVersion()
{
return "0c7bb556-4358-435a-8d4a-fab5695076f0";
}
@Override public Entity read(SerialReaderUtil util)
{
try
{
String version = util.readString();
if (!version.equals(getVersion())) return null;
length = util.readInt();
pos = util.readInt();
return this;
}
catch (Exception e)
{
Debug.out(e);
}
return null;
}
@Override public void write(SerialWriterUtil util)
{
try
{
util.writeString(getVersion());
util.writeInt(length);
util.writeInt(pos);
}
catch (Exception e)
{
Debug.out(e);
}
}
public static final Parcelable.Creator<Entity> CREATOR = new Creator<Entity>()
{
@Override public Entity[] newArray(int size)
{
return new Entity[size];
}
@Override public Entity createFromParcel(Parcel source)
{
return new Entity().createFrom(source);
}
};
}